package ai.people.netmon.warning.service;

import ai.people.netmon.framework.domain.warning.entity.WarningAccountLabelRelation;
import ai.people.netmon.framework.domain.warning.entity.WarningLabelTree;
import ai.people.netmon.framework.domain.warning.request.label.WarningLabelTreeVO;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;
import java.util.Map;

/**
* @author ligua
* @description 针对表【warning_label_tree(标签库-标签)】的数据库操作Service
* @createDate 2022-08-08 20:45:34
*/
public interface WarningLabelTreeService extends IService<WarningLabelTree> {

    /**
     * 列表标签树
     *
     * @param parentId 父id
     * @return {@link List}<{@link WarningLabelTreeVO}>
     */
    List<WarningLabelTreeVO> listLabelTree(Long parentId);


    /**
     * 所有标签
     *
     * @return {@link List}<{@link WarningLabelTree}>
     */
    List<WarningLabelTree> allLabel();


    /**
     * 所有标签值映射
     *
     * @return {@link Map}<{@link String}, {@link WarningLabelTree}>
     */
    Map<String, WarningLabelTree> allLabelValueMapping();




    /**
     * 通过账户查询标签
     *
     * @param accountIds 帐户id
     * @return {@link List}<{@link WarningAccountLabelRelation}>
     */
    List<WarningAccountLabelRelation> queryLabelByAccount(List<Long> accountIds);
}
